//实现一个函数，可以左旋字符串中的k个字符。
//例如：
//ABCD左旋一个字符得到BCDA		A BCD	A DCB    BCDA
//ABCD左旋两个字符得到CDAB		BA CD   BA DC	 CDAB    

//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//#include<assert.h>
//
//char* Rotate(char arr1[],int L,int R)
//{
//	char* left = &arr1[L];
//	char* right = &arr1[R - 1];
//	while (left < right)
//	{
//		char tmp = 0;
//		tmp = *right;
//		*right = *left;
//		*left = tmp;
//		left++;
//		right--;
//	}
//	return arr1;
//}
//char* Left_rotate(char arr1[], int k,int sz)
//{
//	//旋转前半部分
//	Rotate(arr1,0, k%sz);
//	//旋转后半部分
//	Rotate(arr1, k%sz, sz);
//	//旋转整个字符串
//	Rotate(arr1, 0, sz);
//	return arr1;
//}
//int main()
//{
//	int k = 0;
//	char arr1[5] = { 0 };
//	gets(arr1);
//	int sz = strlen(arr1);
//	scanf("%d", &k);
//	assert(k>0);
//	printf("左旋%d个字符\n", k);
//	Left_rotate(arr1,k,sz);
//	puts(arr1);
//	return 0;
//}

//杨氏矩阵
//
//作业内容
//有一个数字矩阵，矩阵的每行从左到右是递增的，矩阵从上到下是递增的，请编写程序在这样的矩阵中查找某个数字是否存在。
//
//要求：时间复杂度小于O(N);

//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//
//int Is_truevalue(int arr[5][5],int row,int col,int true)
//{
//	//用右上角元素判断，大于则删行，小于删列
//	while (row<=4 && col>=0)
//	{
//		if (true > arr[row][col])
//		{
//			row++;
//		}
//		else if (true < arr[row][col])
//		{
//			col--;
//		}
//		else
//		{
//			return 1;
//		}
//	}
//	return 0;
//}
//int main()
//{
//	int arr[5][5] = { {1,4,7,11,15},{2,5,8,12,19},{3,6,9,16,22},{10,13,14,17,24},{18,21,23,26,30} };
//	//打印数组
//	int(*p)[5] = arr;
//	for (int i = 0; i < 5; i++)
//	{
//		int count = 0;
//		for (int j = 0; j < 5; j++)
//		{
//			printf("%3d", *(*(p + i) + j));
//			count++;
//			if (count == 5)
//			{
//				printf("\n");
//			}
//		}
//	}
//	//输入查找值
//	int true_value = 0;
//	printf("请输入你要查找的数>");
//	scanf("%d", &true_value);
//	while (1)
//	{
//		int ret = Is_truevalue(arr,0,5,true_value);
//		if (ret == 1)
//		{
//			printf("存在\n");
//			break;
//		}
//		else
//		{
//			printf("不存在\n");
//			break;
//		}
//	}
//	return 0;
//}